import fs from 'fs';

console.log(1);
// 异步代码
// I/O操作
// 3.js 线程执行的时候，从硬盘的文件系统调入内存
// readFile a.txt 从内存中又去硬盘的文件系统读取a.txt
// a.txt 假如存的是一本三国演义
const p=new Promise((resolve,reject)=>{
    console.log(3);// 同步 立即执行
    // 立即执行的执行函数 executor
    fs.readFile('./a.txt','utf-8',(err,data)=>{
        if(err){
            reject(err);
            return;
        }
        console.log(data.toString());
        resolve();
    });
    // 立即执行的执行函数executor
    resolve();//promise 被解决了
})
p.then(()=>{
    console.log(4);
}).catch((err)=>{
    console.log(err,'读取a.txt失败');
})

console.log(2);